// 用户数据相关
import { ref } from 'vue'
import { defineStore } from 'pinia'
import { loginApi } from '@/apis/user'
import { useCartStore } from './cartStore'
import { mergeCartAPI } from '@/apis/cart'
export const useUserStore = defineStore('user', () => {
   
  const cartStore = useCartStore()
//   定义管理用户数据的state
const userInfo = ref({})
// 定义获取接口数据的action函数

// 登录
const getUserInfo = async ({account,password})=> {
    const res = await loginApi({account,password})
    userInfo.value = res.data.result
    // console.log(res.data.result);
    // 1.合并购物车
    await mergeCartAPI(cartStore.cartList.map(item=>{
      return {
        skuId:item.skuId,
        selected:item.selected,
        count:item.count,
      }
    }))
    // 2.更新购物车
    cartStore.updateNewList()
}
// 退出登录时清除用户信息
const clearUserInfo = ()=>{
  // 用户账号数据
  userInfo.value = {}
// 用户购物车
  cartStore.clearCart()
}

// 以对象的格式把state和action return

  return { userInfo, getUserInfo, clearUserInfo }
},
// pinia持久化
{
    persist: true,
},
)
